$(document).ready(init_regla)

/*funcion que se ejecuta cuando carga de la pagina*/
function init_regla(){
    //cargar_regla();
    $("#nuevaRegla").button({
        icons: {
            primary: 'ui-icon-plusthick'
        }
    });

   
                    
    $("#ayudaBtn").button({
        icons: {
            primary: 'ui-icon-help'
        },
        text: false
    });
   
   

    $("#nuevaRegla").click(nuevo)


    $("#formRegla").validate({
        rules:{ 
            descripcion:{
                required:true
            }
        }
    })

    /*AYUDA*/
    $('#ayudaBtn').qtip({
        content: '<b style="color:red">*</b> Para editar una regla haga doble click sobre el registro seleccionado<br />'+
        '<b style="color:red">*</b> Para buscar un registro utilice los campos del pie de cada columna<br />'+
        '<b style="color:red">*</b> Las reqlas de liquidaci&oacute;n definen el no cobro de copago en la facturaci&oacute;n',
        show: 'mouseover',
        hide: 'mouseout',
        style: {
            name: 'cream', 
            border: {
                width: 3,
                radius: 8                                         
            },
            width: 500,
            tip: { // Now an object instead of a string
                corner: 'topRight', // We declare our corner within the object using the corner sub-option
                color: 'orange',
                size: {
                    x: 20, // Be careful that the x and y values refer to coordinates on screen, not height or width.
                    y : 8 // Depending on which corner your tooltip is at, x and y could mean either height or width!
                }
            }
        },
        position: {
            corner: {
                target: 'bottomLeft',
                tooltip: 'topRight'
            },
            container: $('div.tooltips')                          
        }
    })
    
}


/*Muestra el dialogo para capturar los datos de la tabla*/
function formularioRegla(){    
    $("#regla-form").dialog({
        height: 500,
        width: 500,
        modal: true,
        title:"Grupo Actividad",
        buttons:{
            "Cancelar":function(){
                $(this).dialog("close")
                clear_form_elements($("#formRegla"));
                $(this).dialog("close")
                window.location.reload()
            },
            "Guardar":       
            function(){
                validarRegla();
            }
                                
                                
        }
    });
}


function llenarCombos(){
    $("#idtipo_usuario").load("/salus/AdministrarServlet", {
        op:"-37"
    });
    $("#idtipo_afiliado").load("/salus/AdministrarServlet", {
        op:"-38"
    });
    $("#idnivel").load("/salus/AdministrarServlet", {
        op:"-42"
    });
    $("#idsexo").load("/salus/AdministrarServlet", {
        op:"-36"
    });
    $("#idservicio").load("/salus/AdministrarServlet", {
        op:"-41"
    });
    $("#idgrupo_edad").load("/salus/AdministrarServlet", {
        op:"-39"
    });    
    $("#idtipo_poblacion").load("/salus/AdministrarServlet", {
        op:"-40"
    });    
}



function editar(id){    
    formularioRegla();
    llenarCombos();        
    $.ajax({
        type:'POST',
        url:'/salus/ReglaServlet',
        data:"op=1&id="+id,
        dataType:'json',
        success:function(data) {        
            $("#id").val(data.id);
            $("#descripcion").val(data.regla);
            $("#idtipo_usuario").val(data.idtipoUsuario);
            $("#idtipo_afiliado").val(data.idtipoAfiliacion);
            $("#idnivel").val(data.idNivel);
            $("#idsexo").val(data.idSexo);
            $("#idservicio").val(data.idServicio);
            $("#idgrupo_edad").val(data.idgrupoEdad);
            $("#idtipo_poblacion").val(data.idtipoPoblacion);
        }
    });
    
}

function nuevo(){
    formularioRegla();
    llenarCombos();
}


/*Guarda los datos de la tabla*/
function guardar_regla(){
    

    var form = $("#formRegla");
    $.ajax({
        type:'POST',
        url:'/salus/ReglaServlet',
        data:form.serialize()+"&op=2",
        dataType:'text',
        success:function(msg) {   
            clear_form_elements($("#formRegla"));
            $(this).dialog("close")
            window.location.reload()
        }
    });
 
}

function validarRegla(){
        
    if ($("#formRegla").valid()){
        
        if(alMenosUnoLleno($("#formRegla"))){
    
            jQuery.ajax({
                type: "POST",
                url: "/salus/ValidarFormularioServlet",
                data: $("#formRegla").serialize()+"&op=10",
                dataType: 'json',
                async:false,
                success: function(msg){            
                    if(msg.error=='1'){
                        $("#error_num").html("<b style='color:red'>La regla configurada ya existe</b>");               
                    }else{
                        $("#error_num").html("");
                        guardar_regla()
                    }
                }

            });
        }else{
            $("#error_num").html("<b style='color:red'>Debe configurar al menos un parametro</b>");               
        }
        
    }   
}

function clear_form_elements(ele) {

    $(ele).find(':input').each(function() {
        switch(this.type) {
            case 'password':
            case 'select-multiple':
            case 'select-one':
            case 'text':
            case 'file':
            case 'textarea':
                $(this).val('');
                break;
            case 'checkbox':
            case 'radio':
                this.checked = false;
        }
    });

}


function alMenosUnoLleno(ele) {
    var guardar = false;

    $(ele).find(':input').each(function() {
        switch(this.type) {
           
            case 'select-one':
                if($(this).val()!=""){
                    guardar=true;
                }
                break;
        }
    });

    return guardar;
}